Session-Based Compositional Analysis for Actor-Based Languages Using Futures
نویسندگان
چکیده
This paper proposes a simple yet concise framework to statically verify communication correctness in a concurrency model using futures. We consider the concurrency model of the core ABS language, which supports actor-style asynchronous communication using futures and cooperative scheduling. We provide a type discipline based on session types, which gives a high-level abstraction for structured interactions. By using it we statically verify if the local implementations comply with the communication correctness. We extend core ABS with sessions and annotations to express scheduling policies based on required communication ordering. The annotation is statically checked against the session automata derived from the session types.
منابع مشابه
Session-Based Compositional Verification on Actor-based Concurrent Systems
Motivations Concurrent and distributed systems are the pillars of modern IT infrastructures. It is of great importance that such systems work properly. However, quality assurance of such systems is non-trivial since they depend on unpredictable factors, such as different processing speeds of independent components. Besides, it is non-trivial to ensure communication (composed by interactions) sa...
متن کاملMonitoring Erlang/OTP Applications using Multiparty Session Types
The actor model has emerged as a programming paradigm particularly suited to programming concurrent and distributed systems. Programming languages based on the actor model consist of lightweight processes which do not communicate using shared memory, relying instead on explicit message passing. Consequently, programming languages built on the actor model avoid many of the pitfalls associated wi...
متن کاملAn Erlang Implementation of Multiparty Session Actors
By requiring co-ordination to take place using explicit message passing instead of relying on shared memory, actor-based programming languages have been shown to be effective tools for building reliable and fault-tolerant distributed systems. Although naturally communication-centric, communication patterns in actor-based applications remain informally specified, meaning that errors in communica...
متن کاملJCoBox: Generalizing Active Objects to Concurrent Components
Concurrency in object-oriented languages is still waiting for a satisfactory solution. For many application areas, standard mechanisms like threads and locks are too low level and have shown to be error-prone and not modular enough. Lately the actor paradigm has regained attention as a possible solution to concurrency in OOLs. We propose JCoBox: a Java extension with an actor-like concurrency m...
متن کاملTranslating Active Objects into Colored Petri Nets for Communication Analysis
Actor-based languages attract attention for their ability to scale to highly parallel architectures. Active objects combine the asynchronous communication of actors with object-oriented programming by means of asynchronous method calls and synchronization on futures. However, the combination of asynchronous calls and synchronization introduces communication cycles which lead to a form of commun...
متن کامل